#include<iostream>
#include<thread>
#include<unistd.h>
#include<pthread.h>
using namespace std;

void *threadrun(void *args)
{
    string name=static_cast<const char*>(args);
    int cnt=5;
    while(1)
    {
        if(cnt--<0)break;
        cout<<"I am a new thread......"<<name<<endl;
        sleep(1);
    }
    return nullptr;
}

int main()
{
    pthread_t tid;
    pthread_create(&tid,nullptr,threadrun,(void*)"thread 1");
    cout<<"main thread wait block"<<endl;
    pthread_join(tid,nullptr);
    cout<<"main thread wait return"<<endl;
    return 0;
}















// void threadrun(int num)
// {
//     while(num)
//     {
//         cout<<"I am a thread,num:"<<num<<endl;
//         num--;
//         sleep(1);
//     }
// }

// int main()
// {
//     std::thread t1(threadrun,10);
//     std::thread t2(threadrun,9);
//     std::thread t3(threadrun,8);
//     std::thread t4(threadrun,7);
//     std::thread t5(threadrun,6);
//     while (1)
//     {
//         cout<<"I am a main thread"<<endl;
//         sleep(1);
//     }
//     t1.join();
//     t2.join();
//     t3.join();
//     t4.join();
//     t5.join();
//     return 0;
// }